Volume Spread Analysis [Ahmed]Greetings everyone,
I'm thrilled to present a Pine Script I've crafted for Volume Spread Analysis (VSA) Indicator. This tool is aimed at empowering you to make smarter trading choices by scrutinizing the volume spread across a specified interval.
The script delivers a comparative volume analysis, permitting you to fix the type and length of the moving average. It subsequently delineates the moving average (MA), MA augmented by 1 standard deviation (SD), and MA increased by 2 SD. You can fully personalize the color coding for these echelons.
Volume Spread Analysis is an analytical technique that scrutinizes candles and the volume per candle to predict price direction. It considers the volume per candle, the spread range, and the closing price.
To effectively leverage VSA, you need to adhere to a few steps:
1. Ensure you use candlesticks for trading. Other chart types like line, bar, and renko charts may not yield optimal results.
2. Confirm that your broker provides reliable volume data.
3. Be mindful of the chart's timeframe. Volume analysis may not be effective on very short timeframes such as a minute chart. I recommend using daily, weekly, or monthly charts.
Another tip is to examine the spread between the price bars and the volume bars to discern the trend.
The script not only makes it easier to integrate these principles into your trading but also brings precision and convenience to your analysis.
Please remember to adhere to Tradinview terms of service when using the script. Happy trading!
Cerca negli script per "THE SCRIPT"
AI Channels (Clustering) [LuxAlgo]The AI Channels indicator is constructed based on rolling K-means clustering, a common machine learning method used for clustering analysis. These channels allow users to determine the direction of the underlying trends in the price.
We also included an option to display the indicator as a trailing stop from within the settings.
🔶 USAGE
Each channel extremity allows users to determine the current trend direction. Price breaking over the upper extremity suggesting an uptrend, and price breaking below the lower extremity suggesting a downtrend. Using a higher Window Size value will return longer-term indications.
The "Clusters" setting allows users to control how easy it is for the price to break an extremity, with higher values returning extremities further away from the price.
The "Denoise Channels" is enabled by default and allows to see less noisy extremities that are more coherent with the detected trend.
Users who wish to have more focus on a detected trend can display the indicator as a trailing stop.
🔹 Centroid Dispersion Areas
Each extremity is made of one area. The width of each area indicates how spread values within a cluster are around their centroids. A wider area would suggest that prices within a cluster are more spread out around their centroid, as such one could say that it is indicative of the volatility of a cluster.
Wider areas around a specific extremity can indicate a larger and more spread-out amount of prices within the associated cluster. In practice price entering an area has a higher chance to break an associated extremity.
🔶 DETAILS
The indicator performs K-means clustering over the most recent Window Size prices, finding a number of user-specified clusters. See here to find more information on cluster detection.
The channel extremities are returned as the centroid of the lowest, average, and highest price clusters.
K-means clustering can be computationally expensive and as such we allow users to determine the maximum number of iterations used to find the centroids as well as the number of most historical bars to perform the indicator calculation. Do note that increasing the calculation window of the indicator as well as the number of clusters will return slower results.
🔶 SETTINGS
Window Size: Amount of most recent prices to use for the calculation of the indicator.
Clusters": Amount of clusters detected for the calculation of the indicator.
Denoise Channels: When enabled, return less noisy channels extremities, disabling this setting will return the exact centroids at each time but will produce less regular extremities.
As Trailing Stop: Display the indicator as a trailing stop.
🔹 Optimization
This group of settings affects the runtime performance of the script.
Maximum Iteration Steps: Maximum number of iterations allowed for finding centroids. Excessively low values can return a better script load time but poor clustering.
Historical Bars Calculation: Calculation window of the script (in bars).
Marubozu PatternsMarubozu Candlestick Patterns Indicator
This TradingView script identifies two types of Marubozu candlestick patterns: the bearish Marubozu and the bullish Marubozu. Marubozu patterns are characterized by a lack of shadows and a long body, indicating strong market sentiment. The indicator displays labels and triggers alerts when these patterns are detected on the price chart.
Features:
Identifies bearish Marubozu and bullish Marubozu candlestick patterns.
Alerts triggered for both patterns.
Labels displayed to highlight pattern occurrences on the chart.
How it works:
The script calculates various properties of candlesticks, such as body length, shadows, and body type. It then identifies both bearish and bullish Marubozu patterns based on specific conditions. When a pattern is detected, a label is shown on the chart with a corresponding tooltip description. Additionally, a background color change emphasizes the presence of detected patterns. Alerts are triggered for both pattern types, helping traders to quickly spot potential trading opportunities.
Note:
This script is designed for use on the TradingView platform using Pine Script. It aids traders in recognizing Marubozu candlestick patterns, providing visual cues and alerts for potential bullish and bearish market sentiments.
Developing Market Profile / TPO [Honestcowboy]The Developing Market Profile Indicator aims to broaden the horizon of Market Profile / TPO research and trading. While standard Market Profiles aim is to show where PRICE is in relation to TIME on a previous session (usually a day). Developing Market Profile will change bar by bar and display PRICE in relation to TIME for a user specified number of past bars.
What is a market profile?
"Market Profile is an intra-day charting technique (price vertical, time/activity horizontal) devised by J. Peter Steidlmayer. Steidlmayer was seeking a way to determine and to evaluate market value as it developed in the day time frame. The concept was to display price on a vertical axis against time on the horizontal, and the ensuing graphic generally is a bell shape--fatter at the middle prices, with activity trailing off and volume diminished at the extreme higher and lower prices."
For education on market profiles I recommend you search the net and study some profitable traders who use it.
Key Differences
Does not have a value area but distinguishes each column in relation to the biggest column in percentage terms.
Updates bar by bar
Does not take sessions into account
Shows historical values for each bar
While there is an entire education system build around Market Profiles they usually focus on a daily profile and in some cases how the value area develops during the day (there are indicators showing the developing value area).
The idea of trading based on a developing value area is what inspired me to build the Developing Market Profile.
🟦 CALCULATION
Think of this Developing Market Profile the same way as you would think of a moving average. On each bar it will lookback 200 bars (or as user specified) and calculate a Market Profile from those bars (range).
🔹Market Profile gets calculated using these steps:
Get the highest high and lowest low of the price range.
Separate that range into user specified amount of price zones (all spaced evenly)
Loop through the ranges bars and on each bar check in which price zones price was, then add +1 to the zones price was in (we do this using the OccurenceArray)
After it looped through all bars in the range it will draw columns for each price zone (using boxes) and make them as wide as the OccurenceArray dictates in number of bars
🔹Coloring each column:
The script will find the biggest column in the Profile and use that as a reference for all other columns. It will then decide for each column individually how big it is in % compared to the biggest column. It will use that percentage to decide which color to give it, top 20% will be red, top 40% purple, top 60% blue, top 80% green and all the rest yellow. The user is able to adjust these numbers for further customisation.
The historical display of the profiles uses plotchar() and will not only use the color of the column at that time but the % rating will also decide transparancy for further detail when analysing how the profiles developed over time. Each of those historical profiles is calculated using its own 200 past bars. This makes the script very heavy and that is why it includes optimisation settings, more info below.
🟦 USAGE
My general idea of the markets is that they are ever changing and that in studying that changing behaviour a good trader is able to distinguish new behaviour from old behaviour and adapt his approach before losing traders "weak hands" do.
A Market Profile can visually show a trader what kind of market environment we currently are in. In training this visual feedback helps traders remember past market environments and how the market behaved during these times.
Use the history shown using plotchars in colors to get an idea of how the Market Profile looked at each bar of the chart.
This history will help in studying how price moves at different stages of the Market Profile development.
I'm in no way an expert in trading Market Profiles so take this information with a grain of salt. Below an idea of how I would trade using this indicator:
🟦 SETTINGS
🔹MARKET PROFILING
Lookback: The amount of bars the Market Profile will look in the past to calculate where price has been the most in that range
Resolution: This is the amount of columns the Market Profile will have. These columns are calculated using the highest and lowest point price has been for the lookback period
Resolution is limited to a maximum of 32 because of pinescript plotting limits (64). Each plotchar() because of using variable colors takes up 2 of these slots
🔹VISUAL SETTINGS
Profile Distance From Chart: The amount of bars the market profile will be offset from the current bar
Border width (MP): The line thickness of the Market Profile column borders
Character: This is the character the history will use to show past profiles, default is a square.
Color theme: You can pick 5 colors from biggest column of the Profile to smallest column of the profile.
Numbers: these are for % to decide column color. So on default top 20% will be red, top 40% purple... Always use these in descending order
Show Market Profile: This setting will enable/disable the current Market Profile (columns on right side of current bar)
Show Profile History: This setting will enable/disable the Profile History which are the colored characters you see on each bar
🔹OPTIMISATION AND DEBUGGING
Calculate from here: The Market Profile will only start to calculate bar by bar from this point. Setting is needed to optimise loading time and quite frankly without it the script would probably exceed tradingview loading time limits.
Min Size: This setting is there to avoid visual bugs in the script. Scaling the chart there can be issues where the Market Profile extends all the way to 0. To avoid this use a minimum size bigger than the bugged bottom box
Lot Size CalculatorThis is a public release of my Lot Size Calculator. I received a request for the code from a user so I am republishing the script so I can make it public (TV doesn't seem to give me the option to simply make it public once published ).
This is a very simple script to use. Simply choose your entry level and stop level on the chart and the indicator will calculate the lots. You can change your account risk and base currency units in the settings along with changing the scaling of the calculation to adjust the results with the lot sizing units of your broker. This allows the calculator to be used with CFDs, forex, Gold, etc.. Hope it helps in your trading it has been the single most useful tool in my trading as it has helped me always keep my risk locked up and on point that is why I released it.
One final quick note: Remember you can save your settings for your own account size and risk so you do not always have to modify the defaults when loading the script. Just a ease of use tip. I only add the script to my chart when I am about to take a trade so it is helpful to have everything set up in advance.
Trend AngleIntroduction:
In today's post, we'll dive deep into the source code of a unique trading tool, the Trend Angle Indicator. The script is an indicator that calculates the trend angle for a given financial instrument. This powerful tool can help traders identify the strength and direction of a trend, allowing them to make informed decisions.
Overview of the Trend Angle Indicator:
The Trend Angle Indicator calculates the trend angle based on the slope of the price movement over a specified period. It uses an Exponential Moving Average (EMA) to smooth the data and an Epanechnikov kernel function for additional smoothing. The indicator provides a visual representation of the trend angle, making it easy to interpret for traders of all skill levels.
Let's break down the key components of the script:
Inputs:
Length: The number of periods to calculate the trend angle (default: 8)
Scale: A scaling factor for the ATR (Average True Range) calculation (default: 2)
Smoothing: The smoothing parameter for the Epanechnikov kernel function (default: 2)
Smoothing Factor: The radius of the Epanechnikov kernel function (default: 1)
Functions:
ema(): Exponential Moving Average calculation
atan2(): Arctangent function
degrees(): Conversion of radians to degrees
epanechnikov_kernel(): Epanechnikov kernel function for additional smoothing
Calculations:
atr: The EMA of the True Range
slope: The slope of the price movement over the given length
angle_rad: The angle of the slope in radians
degrees: The smoothed angle in degrees
Plotting:
Trend Angle: The trend angle, plotted as a line on the chart
Horizontal lines: 0, 90, and -90 degrees as reference points
How the Trend Angle Indicator Works:
The Trend Angle Indicator begins by calculating the Exponential Moving Average (EMA) of the True Range (TR) for a given financial instrument. This smooths the price data and provides a more accurate representation of the instrument's price movement.
Next, the indicator calculates the slope of the price movement over the specified length. This slope is then divided by the scaled ATR to normalize the trend angle based on the instrument's volatility. The angle is calculated using the atan2() function, which computes the arctangent of the slope.
The final step in the process is to smooth the trend angle using the Epanechnikov kernel function. This function provides additional smoothing to the trend angle, making it easier to interpret and reducing the impact of short-term price fluctuations.
Conclusion:
The Trend Angle Indicator is a powerful trading tool that allows traders to quickly and easily determine the strength and direction of a trend. By combining the Exponential Moving Average, ATR, and Epanechnikov kernel function, this indicator provides an accurate and easily interpretable representation of the trend angle. Whether you're an experienced trader or just starting, the Trend Angle Indicator can provide valuable insights into the market and help improve your trading decisions.
Optimized Logarithmic Curve for Bitcoin (BTC/USD) by FICASHello everyone!
I'd like to share with you a handy tool that is incredibly useful for analyzing Bitcoin's price movements. This optimized logarithmic curve indicator is a refined version of the popular "My BTC log curve" indicator, originally created by @quantadelic.
We have made several improvements to enhance its predictive capabilities when it comes to identifying potential price bottoms for Bitcoin BTC/USD.
Description:
In this detailed analysis, we are excited to introduce you to an optimized version of the popular "My BTC log curve" indicator, originally created by @quantadelic. We have refined the indicator for enhanced predictive capabilities when it comes to identifying potential price bottoms for Bitcoin BTC/USD. By putting ourselves in the reader's shoes, we aim to provide a comprehensive and meaningful explanation of our analysis and predictions using this improved tool.
The logarithmic curve is a powerful tool for analyzing price movements in a non-linear fashion, allowing traders and investors to identify critical turning points and trends. With the optimized logarithmic curve, we can more accurately predict potential price bottoms, ultimately guiding better-informed trading and investment decisions.
Key Features of the Optimized Logarithmic Curve:
Improved predictive capabilities: The refined logarithmic curve has been optimized to provide more accurate predictions of potential price bottoms, enabling traders to make better-informed decisions.
Enhanced visualization: The optimized curve offers a clearer visual representation of Bitcoin's price movements, making it easier for traders to identify patterns and trends.
Adaptability: This indicator can be applied to various timeframes, providing insights for both short-term and long-term traders.
The optimized logarithmic curve indicator is based on a logarithmic regression of the USD price of Bitcoin, calculated according to the equation:
y = A * exp(beta * x^lambda + c) + m * x + b
where x is the number of days since the genesis block. All parameters are editable in the script options, allowing traders to customize the curve to their preferences.
Here are some of the key changes made to the original indicator to create the optimized logarithmic curve:
Midline Calculation: The optimized logarithmic curve utilizes an updated method for calculating the midline, which better represents the average price movement of Bitcoin over time. This improved midline calculation provides a more accurate representation of Bitcoin's historical price trajectory, making it easier to identify potential price bottoms.
Cross Line Calculation: We have modified the way cross lines are calculated in the optimized logarithmic curve. These new cross lines are derived from a combination of the updated midline calculation and historical support and resistance levels. This change allows traders to more accurately identify critical points in the market where price action is likely to reverse or continue its trend.
Table Display: a powerful visualization tool designed to provide a comprehensive overview of the relationships between various exponential curves and the Bitcoin price. This table display, integrated into the "FiCAS BTC log curve" indicator, enables traders and analysts to quickly compare and assess the impact of these curves on the market.
Our analysis using the optimized logarithmic curve suggests that Bitcoin might be at a critical price bottom, indicating that selling at this point may not be the most prudent course of action. Instead, traders and investors could consider taking advantage of the potential upswing as the market moves away from the identified price bottom.
Key highlights of this Optimized Logarithmic Curve for Bitcoin (BTC/USD) by FICAS:
Custom Pine Script: Pinescript code serves as the backbone of this strategy, providing a strong foundation for identifying potential opportunities based on the relationships between exponential curves and Bitcoin price.
MACD Indicator: The Moving Average Convergence Divergence (MACD) is integrated to help traders recognize trend reversals, bullish or bearish market conditions, and potential entry or exit points.
Momentum Indicator: By incorporating the Momentum (10, close) indicator, traders can identify the strength of price movements and potential trend continuations or reversals.
RSI and SMA: The Relative Strength Index (RSI) is used to assess overbought or oversold conditions, while the Simple Moving Average (SMA) with a period of 14 and an applied factor of 2 smoothens the data for better trend identification.
IMPORTANT:
While this indicator can be applied to traditional BTC/USD charts, we highly recommend using it on the following chart for optimal results in identifying price bottoms:
BITSTAMP:BTCUSD / CRYPTOCAP:BTC.D * 100
By employing the optimized logarithmic curve indicator on the recommended chart, traders can gain a more accurate perspective on potential price bottoms, leading to improved decision-making.
In conclusion, the optimized logarithmic curve indicator provides valuable insights into Bitcoin's price movements, allowing traders and investors to make more informed decisions. We encourage you to test this refined tool and share your thoughts in the comments section. Special thanks to @quantadelic, the first creator of this indicator, for inspiring us to develop this optimized version. If you have any questions or require further clarification, please feel free to ask. Wishing you success in your trading and investment endeavors!
Please ensure you understand and abide by the TradingView House Rules when using this indicator: www.tradingview.com
Regular Trading Hour Sessions for America, Asia and EUThis trading view script is a simple one but I find it very helpful in spotting changes in trend of FX.
The basic idea is to create a visual direction from the previous session to the next new session.
The concept while basic provides visual trend direction and changes as session change.
The three sessions are:
1. Asia from 2130-0400
2. Europe from 0300-1130
3. America from 0930-1600
When you use a line chart you will see the default line when no sessions are active.
Features I plan to add
* Tracking delta of each session
* Moving Averages of each session
* Momentum of each session
* Delta difference
My ultimate goal for this script will be to provide a way to visualize the impact of each session and provide data to buy/sell triggers for Trading Strategies.
Please provide feedback and if you use the script or add a feature please update me or send me the feature to add to the script.
Profitable Supertrend v0.1 - AlphaThis a script to try detect the best combination of supertrend parameters in a space of time. Sadly the script is slow. Evaluate all possibilities params is hard for a pinescript and my knowledge too. In some cases, when you want evaluate many time could be the script fails for timeout. Perhaps with time I could enhance. For this problem of speed the calculate of combinatios it's not complete: In factor use a increment of 0.2 in each param (0.1, 0.3, 0.5 ...) in period the increment for each value is 3. The range for factor it's from 3.0 to 12.0. The range of period it's from 10 to 43
My knowledge don't let me go more far. Perhaps with time I can enhance the script.
Fibonacci compressionThis script will search x-bars back, if it can find a triangle formation that meets certain Fibonacci ratios.
Based on the trend-based fib extension tool from the first high to the first low and then the 2nd high (in a bullish structure, inverse for bearish), we can predict the take profit levels.
The main target is the 0.618, first take profit is at the 0.236. In a strong trend, one can aim for the 1 fib ratio.
Once the 3 points are known, the script will already plot the take profit levels. It is better to wait until the full pattern develops with a 2nd lower high and a 2nd higher low.
The way I use it, is closing 20% at TP1, 80% of the remainder at TP2 and final close out at TP3.
Stop loss is the red line which will show up after a full pattern is formed.
Plot out the profit levels with the trend based fib extension tool, because once there's a break-out of the pattern, the script won't show the compression any more. (or use the replay button to go back in time to plot it again)
The volume label will appear once there's a divergence between the low and higher low or the high and lower high. It is based on my cumulative volume script. It only works well on timeframes above 4 hour, but volume in favor of a short, doesn't always guarantee a good short setup, so don't take it for granted.
It has around a 30 - 33% chance of hitting your TP2, so make sure the risk to reward is at least 3.
Happy trading!
WaveTrend 3D█ OVERVIEW
WaveTrend 3D (WT3D) is a novel implementation of the famous WaveTrend (WT) indicator and has been completely redesigned from the ground up to address some of the inherent shortcomings associated with the traditional WT algorithm.
█ BACKGROUND
The WaveTrend (WT) indicator has become a widely popular tool for traders in recent years. WT was first ported to PineScript in 2014 by the user @LazyBear, and since then, it has ascended to become one of the Top 5 most popular scripts on TradingView.
The WT algorithm appears to have origins in a lesser-known proprietary algorithm called Trading Channel Index (TCI), created by AIQ Systems in 1986 as an integral part of their commercial software suite, TradingExpert Pro. The software’s reference manual states that “TCI identifies changes in price direction” and is “an adaptation of Donald R. Lambert’s Commodity Channel Index (CCI)”, which was introduced to the world six years earlier in 1980. Interestingly, a vestige of this early beginning can still be seen in the source code of LazyBear’s script, where the final EMA calculation is stored in an intermediate variable called “tci” in the code.
█ IMPLEMENTATION DETAILS
WaveTrend 3D is an alternative implementation of WaveTrend that directly addresses some of the known shortcomings of the indicator, including its unbounded extremes, susceptibility to whipsaw, and lack of insight into other timeframes.
In the canonical WT approach, an exponential moving average (EMA) for a given lookback window is used to assess the variability between price and two other EMAs relative to a second lookback window. Since the difference between the average price and its associated EMA is essentially unbounded, an arbitrary scaling factor of 0.015 is typically applied as a crude form of rescaling but still fails to capture 20-30% of values between the range of -100 to 100. Additionally, the trigger signal for the final EMA (i.e., TCI) crossover-based oscillator is a four-bar simple moving average (SMA), which further contributes to the net lag accumulated by the consecutive EMA calculations in the previous steps.
The core idea behind WT3D is to replace the EMA-based crossover system with modern Digital Signal Processing techniques. By assuming that price action adheres approximately to a Gaussian distribution, it is possible to sidestep the scaling nightmare associated with unbounded price differentials of the original WaveTrend method by focusing instead on the alteration of the underlying Probability Distribution Function (PDF) of the input series. Furthermore, using a signal processing filter such as a Butterworth Filter, we can eliminate the need for consecutive exponential moving averages along with the associated lag they bring.
Ideally, it is convenient to have the resulting probability distribution oscillate between the values of -1 and 1, with the zero line serving as a median. With this objective in mind, it is possible to borrow a common technique from the field of Machine Learning that uses a sigmoid-like activation function to transform our data set of interest. One such function is the hyperbolic tangent function (tanh), which is often used as an activation function in the hidden layers of neural networks due to its unique property of ensuring the values stay between -1 and 1. By taking the first-order derivative of our input series and normalizing it using the quadratic mean, the tanh function performs a high-quality redistribution of the input signal into the desired range of -1 to 1. Finally, using a dual-pole filter such as the Butterworth Filter popularized by John Ehlers, excessive market noise can be filtered out, leaving behind a crisp moving average with minimal lag.
Furthermore, WT3D expands upon the original functionality of WT by providing:
First-class support for multi-timeframe (MTF) analysis
Kernel-based regression for trend reversal confirmation
Various options for signal smoothing and transformation
A unique mode for visualizing an input series as a symmetrical, three-dimensional waveform useful for pattern identification and cycle-related analysis
█ SETTINGS
This is a summary of the settings used in the script listed in roughly the order in which they appear. By default, all default colors are from Google's TensorFlow framework and are considered to be colorblind safe.
Source: The input series. Usually, it is the close or average price, but it can be any series.
Use Mirror: Whether to display a mirror image of the source series; for visualizing the series as a 3D waveform similar to a soundwave.
Use EMA: Whether to use an exponential moving average of the input series.
EMA Length: The length of the exponential moving average.
Use COG: Whether to use the center of gravity of the input series.
COG Length: The length of the center of gravity.
Speed to Emphasize: The target speed to emphasize.
Width: The width of the emphasized line.
Display Kernel Moving Average: Whether to display the kernel moving average of the signal. Like PCA, an unsupervised Machine Learning technique whereby neighboring vectors are projected onto the Principal Component.
Display Kernel Signal: Whether to display the kernel estimator for the emphasized line. Like the Kernel MA, it can show underlying shifts in bias within a more significant trend by the colors reflected on the ribbon itself.
Show Oscillator Lines: Whether to show the oscillator lines.
Offset: The offset of the emphasized oscillator plots.
Fast Length: The length scale factor for the fast oscillator.
Fast Smoothing: The smoothing scale factor for the fast oscillator.
Normal Length: The length scale factor for the normal oscillator.
Normal Smoothing: The smoothing scale factor for the normal frequency.
Slow Length: The length scale factor for the slow oscillator.
Slow Smoothing: The smoothing scale factor for the slow frequency.
Divergence Threshold: The number of bars for the divergence to be considered significant.
Trigger Wave Percent Size: How big the current wave should be relative to the previous wave.
Background Area Transparency Factor: Transparency factor for the background area.
Foreground Area Transparency Factor: Transparency factor for the foreground area.
Background Line Transparency Factor: Transparency factor for the background line.
Foreground Line Transparency Factor: Transparency factor for the foreground line.
Custom Transparency: Transparency of the custom colors.
Total Gradient Steps: The maximum amount of steps supported for a gradient calculation is 256.
Fast Bullish Color: The color of the fast bullish line.
Normal Bullish Color: The color of the normal bullish line.
Slow Bullish Color: The color of the slow bullish line.
Fast Bearish Color: The color of the fast bearish line.
Normal Bearish Color: The color of the normal bearish line.
Slow Bearish Color: The color of the slow bearish line.
Bullish Divergence Signals: The color of the bullish divergence signals.
Bearish Divergence Signals: The color of the bearish divergence signals.
█ ACKNOWLEDGEMENTS
@LazyBear - For authoring the original WaveTrend port on TradingView
@PineCoders - For the beautiful color gradient framework used in this indicator
@veryfid - For the inspiration of using mirrored signals for cycle analysis and using multiple lookback windows as proxies for other timeframes
Rolling HTF Liquidity Levels [CHE]█ OVERVIEW
This indicator displays a Rolling HTF Liquidity Levels . Contrary to HTF Liquidity Levels indicators which use a fix time segment, Rolling HTF Liquidity Levels calculates using a moving window defined by a time period (not a simple number of bars), so it shows better results.
This indicator is inspired by
The indicator introduces a new representation of the previous rolling time frame highs & lows (DWM HL) with a focus on untapped levels.
█ CONCEPTS
Untapped Levels
It is popularly known that the liquidity is located behind swing points or beyond higher time frames highs/lows.
Rolling HTF Liquidity Levels uses a moving window, it does not exhibit the static of the HTF Liquidity Levels plots.
█ HOW TO USE IT
Load the indicator on an active chart (see the Help Center if you don't know how).
Time period
By default, the script uses an auto-stepping mechanism to adjust the time period of its moving window to the chart's timeframe. The following table shows chart timeframes and the corresponding time period used by the script. When the chart's timeframe is less than or equal to the timeframe in the first column, the second column's time period is used to calculate the Rolling HTF Liquidity Levels:
Chart Time
timeframe period
1min 🠆 1H
5min 🠆 4H
1H 🠆 1D
4H 🠆 3D
12H 🠆 1W
1D 🠆 1M
1W 🠆 3M
By default, the time period currently used is displayed in the lower-right corner of the chart. The script's inputs allow you to hide the display or change its size and location.
This indicator should make trading easier and improve analysis. Nothing is worse than indicators that give confusingly different signals.
I hope you enjoy my new ideas
best regards
Chervolino
Support Resistance Channels/Zones Multi Time FrameHello All,
For long time I have been getting a lot of requests for Support/Resistance Multi Time Frame script. Here ' Support Resistance Channels/Zones Multi Time Frame ' is in your service.
This script works if the Higher Time Frame you set is higher than the chart time frame. so the time frame in the options should be higher than the chart time frame.
The script checks total bars and highest/lowest in visible part of the chart and shows all S/R zones that fits according the highest/lowest in visible part. you can see screenshots below if it didn't make sense or if you didn't understand
Let see the options:
Higher Time Frame : the time frame that will be used to get Support/Resistance zones, should be higher than chart time frame
Pivot Period : is the number to find the Pivot Points on Higher time frame, these pivot points are used while calculating the S/R zones
Loopback Period : is the number of total bars on higher time frame which is used while finding pivot points
Maximum Channel Width % : is the percent for maximum width for each channel
Minimum Strength : each zone should contain at least a 1 or more pivot points, you set it here. (Open/High/Low/Close also are considered while calculating the strength)
Maximum Number of S/R : the number of maximum Support/Resistance zones. there can be less S/Rs than this number if it can not find enough S/Rs
Show S/R that fits the Chart : because of we use higher time frame, you should enable this option then the script shows only S/Rs that fits the current chart. if you disable this option, all S/R zones are shown and it may shrink the chart. also you may not see any S/R zone if you don't choose the higher time frame wisely ;)
Show S/R channels in a table : if you enable this option (by default it's enabled) then lower/upper bands of all S/R zones shown in a table ( even if it doesn't fit the chart ). you can change its location. zones are sorted according to their strengths. first one is the strongest.
and the other options is about colors and transparency.
Screenshots before and after zoom-out:
after zoom-out number of visible bars and highest/lowest change and it shows more S/R zones that fits the current chart!
if you see Support Resistance zone like below then you should decrease ' Maximum Channel Width ' or you should set higher time frame better:
You can change colors and transparency:
You can change Table location:
Alerts added :)
P.S. I haven't tested it so much, if you see any issue please drop a comment or send me message
Enjoy!
10yr, 20yr, 30yr Averages: Month/Month % Change; SeasonalityCalculates 10yr, 20yr and 30yr averages for month/month % change
~shows seasonal tendencies in assets (best in commodities). In above chart: August is a seasonally bullish month for Gold: All the averages agree. And January is the most seasonally bullish month.
~averages represent current month/previous month. i.e. Jan22 average % change represents whole of jan22 / whole of dec21
~designed for daily timeframe only: I found calling monthly data too buggy to work with, and I thought weekly basis may be less precise (though it would certainly reduce calculation time!)
~choose input year, and see the previous 10yrs of monthly % change readings, and previous 10yrs Average, 20yr Average, 30yr Average for the respective month. Labels table is always anchored to input year.
~user inputs: colors | label sizes | decimal places | source expression for averages | year | show/hide various sections
~multi-yr averges always print, i.e if only 10yrs history => 10yr Av = 20yr Av = 30yr Av. 'History Available' label helps here.
Based on my previously publised script: "Month/Month Percentage % Change, Historical; Seasonal Tendency"
Publishing this as seperate indicator because:
~significantly slower to load (around 13 seconds)
~non-premium users may not have the historical bars available to use 20yr or 30yr averages =>> prefer the lite/speedier version
~~tips~~
~after loading, touch the new right scale; then can drag the table as you like and seperate it from price chart
##Debugging/tweaking##
Comment-in the block at the end:
~test/verifify specific array elements elements.
~see the script calculation/load time
~~other ideas ~~
~could tweak the array.slice values in lines 313 - 355 to show the last 3 consecutive 10yr averages instead (i.e. change 0, 10 | 0,20 | 0, 30 to 0, 10 | 10, 20 | 20,30)
~add 40yr average by adding another block to each of the array functions, and tweaking the respective labels after line 313 (though this would likely add another 5 seconds to the load time)
~use alternative method for getting obtaining multi-year values from individual month elements. I used array.avg. You could try array.median, array.mode, array.variance, array.max, array.min (lines 313-355)
Signal generatorThis simple script generates signals for testing the connection from TradingView to a REST API client via the webhook and demonstrates very basic concepts of gerenating alerts within the script.
This script also demonstrates how to visualize when a buy or a sell should take place and how to use diagnostics text for bug fixes/informational purposes.
This is for testing and learning only. Do not use with real money as losses WILL occur. This script is for educational purposes only and should only be used with demo accounts, never with real money .
Buy signals are generated when closing price is less then opening price.
Sell Signals are generated when closing price is greater then opening price.
Can also be used to test signal counting and very rudimentary dollar cost averaging.
Fibonacci levels MTFHello All,
I got some requests for a script that shows Fibonacci Levels of Higher Time Frame Candles. so I made/published this script. I hope it would be useful for you.
Options:
You can set Higher Time Frame, by default it's 1 Day.
Optionally it can use Current or Last Candle of higher time frame to calculate/show its Fibonacci Levels.
It can show higher time frame candles at the background optionally. You can change its colors.
You can enable/disable/change each Fibonacci levels and their colors.
You can enable/disable Fibonacci Labels that is shown at the right ride and see only Fibonacci lines/levels
example, Fibonacci levels with higher time frame candles:
P.S. if you have ideas to improve this script, drop a comment under the script please
Enjoy!
Profit Percentage TrackerThis script provides a quick and easy way to visualize profits in a chart, based on the given entry date and price.
Optionally, alerts can be sent when profits cross up the given " profit unit ".
In short:
Tracks how much profit one could take based on the input " entry date " and the input " entry price "
These inputs are interactive (www.tradingview.com)
Displays the result in a label on top of the last candle
(Optional) Sends alerts based on the given " profit unit ", that is: if ' 0.5 ' is given, then an alert is triggered every time the profit is raised by that number
(Be careful with low values, as TradingView could stop an alert if it triggers too much.)
For alerts to be displayed, a " script alert " must be created right after the script was added to the chart:
- www.tradingview.com
(Choose ' Profits ' as condition and ' Any alert() function call ')
Good to know: if you check " Notify on app ", alerts can be delivered directly to your phone:
i.imgur.com
Prerequirements :
The chart's timezone has to be set to " Exchange " (this is required in order to support the alert's logic):
- kodify.net
Crypto Scannner for Traffic Lights StrategyI allways try to make trading easier. Developing Scripts for a quick backtest and improvement of a strategy, getting alerts for entry and exit a position. Loading data to a spreadsheet is also important and takes time.
In this case finding good parameters in different markets or assets to enter in a position, is a bit exhausting. It is something you have to do everyday, and sometimes in different moments of the day.
So I manage to develop a Screener, to take a quick look at specific hours, and tell if I have a buy or sell condition in an specific asset. Obviously this is not an alert to make a trade instantaneusly, but this help you filter a lot of information in matters of seconds. Then open those specific charts and make a better analisys.
A few weeks ago, I published a scrpipt called "Traffic Lights Strategy", that uses 4 emas to get a buy or a sell condition.
It is easy to understand and use, but if you don´t want to missed some opportunities, and don't want to be look at the screen in all the time looking for them, I have here a simple solution.
This script works plotting 2 labels. The first one plots all the assets in which the condition is true (fastema > medema > slowema > filterema or fastema < medema < slowema < filterema)
The second one plots the assets were the condition is true only if happened up to 5 candles back, so you can be in time to enter a trade.
You can take the script and customize it for a different strategy or assets. I coded like this because I backtested this strategy in this specific assets, and statistics suggest that it might be profitable.
I hope this works for you. In other time I'll try to code a script for the others strategies I published.
Multi-timeframe MAs + Stoch RSI SignalsHello traders,
I welcome you to my first published script on TradingView: “Multi-timeframe Moving Averages + Stochastic RSI”.
The script is based on a simple formula: Buy signals are generated when a fast moving average is above a slower moving average (uptrend) and the Stochastic RSI K line is crossing above the oversold level (entry).
Sell signals are generated when a fast moving average is below a slower moving average (downtrend) and the Stochastic RSI K line is crossing below the overbought level (entry).
This indicator works best in strong trends!
**Please note the above example has repainting turned on which may produce unrealistic results when viewing historical data. See below for more information regarding this and how you can turn it off.**
The user has the following inputs:
- Option to change the Stochastic RSI settings, including the oversold and overbought levels.
- Option to enter any value for both the Fast Moving Average and the Slow Moving Average.
- Option to change between EMA or SMA for each moving average.
- Multiple time frames to choose from, as well as the ability to selectively turn off individual time frames (both plots and alerts).
(Default time frames are 1 hour, 4 hour, and Daily. You can have a 4th time frame by changing your current time frame to something lower than the other 3 time frames)
- Turn on/off repainting: If repainting is turned on you will get an alert and buy/sell signal on chart immediately when condition is met, however the signal may disappear from chart if the condition reverses during the same candle.
If repainting is turned off, the indicator will wait for the candle to close before issuing the alert and painting the signal on chart.
For higher time frames, the indicator will wait for the candle in the higher time frame to close before issuing a signal if repaint is turned off. Default is set to Repaint on, so please be aware of this if you do not want repainting.
How to use alerts:
- Before you do anything, make sure your current time frame is the lowest time frame you’d like alerts on, as you will still receive alerts for the higher time frames you selected in settings.
- Once you have all the settings changed to how you like, save your chart first. Then right click on any of the indicator’s buy/sell signals on the chart and click “Add Alert on MAs + Stoch RSI”.
- Make sure “Any alert() function call” is selected under the Condition.
- You can delete or change the text in “Alert name” if you want as the alert message is already built into the indicator, and it will tell you in the alert message which asset and time frame to buy or sell.
Other things to note:
- The indicator will not display the buy/sell signals of lower time frames when you are on a higher time frame. This was done purposely to reduce clutter on the chart when you switch to higher time frames.
- While the alert message will tell you which time frame a signal was generated, the plots on the chart will instead show “Buy/Sell TF1, or TF2, or TF3”.
If the signal is from the current time frame that the alert was created on, then it will simply show “Buy” or “Sell”.
Hope you guys enjoy using this one, please drop a like if you found it useful. If anyone wants to modify my script in any way, please just credit me for the original work when you publish the script. Good luck!
PineGIF - Display Gifs & Images In Tradingview [LuxAlgo]Pinescript is not designed to create or display images, let alone gifs, but it's very fun to try, and that's what this script does. This script allows the user to display three different gifs. In this post, we explain how we managed to display images/gif's using pinescript tables.
1. Image Pre-Processing
Due to pinescript limitations, we can't possibly display images with an excessively high resolution. As such we targeted pixel art as a primary image source. We used a pixel art gif of the magnificent Octocat (the mascot for the source-code hosting service GitHub) for our first try.
We first extract each frame from the gif and resize them to a 50x50 resolution which returns frames made of 2500 pixels. This process was done using python.
Getting Individual Pixels RGBA Values
Python can easily return a matrix containing each pixel's rgba value. For convenience, we converted the rgba values to hex.
We then create a simple code allowing us to return a pinescript array containing the 2500 pixel hex colors. We do this process for each frame.
2. Defining Table Cell Color
In the code, each frame is its own array. We create a new table with dimensions equal to len(frame1)^2 (we assume height = width).
The color of a cell is defined by the color of the image pixel at the same exact location. When a new bar is created, we do this exact process using a different frame which ultimately allows a new frame to be displayed.
3. Playing The GIFs
By default, the script will play the gif of the Tradingview cloud logo raining. In order to play the gif, simply use the replay mode. The replay speed allows the user to determine the frame rate (0.1 for the raining cloud and Nyan cat works best, 0.5 for Octocat).
We included the frames of the Octocat and Nyan cat gifs in the script.
4. Some Other Cool Images
Displaying static images is possible and involves the same process described above.
An original idea of the lizard, implemented by the wizard.
INDIGO - SwingTraderThis is a script that uses a couple of other indicators to find good swing trade entry's and exit's. You can choose which signals the script uses to calculate the position of the signals.
It uses the following:
- Stoch RSI
- MACD
- POC
- INDIGO Cloud
Also added are volume candles, acceleration of momentum indicators (triangle) and MACD candles. This way you can see more info to decide if the entry is valid.
I have used a couple of public scripts and tried to give credit to the original creators. If there is any script that hasn't been credited, please contact me.
Feedback is very much appreciated, positive and negative. Also If you have any question, feel free to ask me. I'll try to answer asap.
Enjoy the script :)
SectorsThis script attempts to show the relative strength of the 11 sectors in the SPX, which can be accomplished in three ways:
1. Sectors - displays all sector indices as they appear normally
2. Sector Relativity - displays each sector divided by the sum of the other 10 sectors
3. Sector Alpha - displays the alpha of each sector as compared to the sum of the other 10 sectors
I have seen some other iterations of this script that compare each sector to the SPX as a whole, a couple problems with that:
1. SPX sector weightings are unequal and change quarterly, meaning you will get an inaccurate depiction of relative sector strength across time.
2. Even if using an equal-weight SPX, you would be comparing a sector to itself as all 11 sectors are included in the SPX, not just the complementary 10 you are looking to compare one sector to.
For more information on the sectors in the SPX or the calculation of Alpha, visit the links at the top of the script.
*Includes an option for repainting -- default value is true, meaning the script will repaint the current bar.
False = Not Repainting = Value for the current bar is not repainted, but all past values are offset by 1 bar.
True = Repainting = Value for the current bar is repainted, but all past values are correct and not offset by 1 bar.
In both cases, all of the historical values are correct, it is just a matter of whether you prefer the current bar to be realistically painted and the historical bars offset by 1, or the current bar to be repainted and the historical data to match their respective price bars.
As explained by TradingView,`f_security()` is for coders who want to offer their users a repainting/no-repainting version of the HTF data.
ZigZag Multi Time Frame with Fibonacci RetracementHello Traders,
This is ZigZag Multi Time Frame with Fibonacci Retracement script. It calculates the ZigZag using Higher Time Frame, draw Fibonacci Retracement lines and put labels accordingly. I already published Zigzag with Fibonacci Levels script but this one is Multi Time Frame and I didn't want to change/update it.
You can set ZigZag Period and Resolution as you wish. Zigzag is calculated using higher time frames (ex: 1day) so you better choose small numbers as Zigzag Period, such 2, 3 etc. you should choose higher time frame wisely, meaning that you should not set 1Day while chart resolution is 1min ;)
It draws Fibonacci levels between 0%-100% and If the price goes higher/lower than 100% level than the script draws Fibonacci Levels accordingly. This means it draws Fibonacci levels until this levels get higher/lower than the price.
"Show Zig Zag" is not enabled by default, you can enable it if you want to see ZigZag as well.
You have options to set Text Color, Line Color, Zigzag Up Color and Zigzag Down Color.
You can set the location of the Fibonnaci Levels -> Left or Right
You also have option to enable/disable following Fibonnaci Levels:
---> 0.236
---> 0.382
---> 0.500
---> 0.618
---> 0.786
I added "Colorful Fibonacci Levels" for fun. if you enable it then Fibonacci line colors will be different randomly on each move, see it for yourself :)
Some Screenshots:
if you enable "Show Zigzag Option":
how the script adjust levels automatically:
if you set Label Location as "Right":
if you enable "Colorful Fibonacci Levels" then Line colors will be changed on each move randomly ;)
Enjoy!